How to save email of users who have subscribed

I'm trying to send emails to users who want to be notified when an object or module has been changed. Currently, I have a menu that will allow users to select their email address. But need a way to store this address somehow.  If I understand correctly attribute values will not remain after DOORS has been closed and reopened. Can this information be stored in the database somehow?

 

Thanks

Stew


DanStew - Tue Dec 10 16:55:33 EST 2013

Re: How to save email of users who have subscribed
adevicq - Wed Dec 11 03:33:50 EST 2013

Hi,

you should probably use the "set" perm on the user. See the DXL help:

set (user property)

Declaration

void set(User 
user,
         string 
property,
          string 
value) 

Operation

Updates the value of the specified string property within user. If the property does not exist it is created.

 

Regards,

Alain

Re: How to save email of users who have subscribed
bmij - Wed Dec 11 05:00:11 EST 2013

The user page of 'manage users' allows an email address to be entered. Individual users can access their own settings, including email address, under the 'general' tab of 'Tools: options' from the Database explorer window. Thesew settings are saved in  the database. There's no need to use DXL unless you want to. At least that is what I see as a standard user on DOORS 8.1.

Regards

Jim

Re: How to save email of users who have subscribed
DanStew - Wed Dec 11 10:58:47 EST 2013

adevicq - Wed Dec 11 03:33:50 EST 2013

Hi,

you should probably use the "set" perm on the user. See the DXL help:

set (user property)

Declaration

void set(User 
user,
         string 
property,
          string 
value) 

Operation

Updates the value of the specified string property within user. If the property does not exist it is created.

 

Regards,

Alain

I think I should clarify what I'm trying to do.

Let's say users A and B want to be notified when there is a change to a module or object. If user B is in DOORS and makes a change to a module, how will user A be notified? I'm not sure how their email address will be tied to changes in that module and object.

Thanks

Stew

Re: How to save email of users who have subscribed
adevicq - Wed Dec 11 11:48:53 EST 2013

bmij - Wed Dec 11 05:00:11 EST 2013

The user page of 'manage users' allows an email address to be entered. Individual users can access their own settings, including email address, under the 'general' tab of 'Tools: options' from the Database explorer window. Thesew settings are saved in  the database. There's no need to use DXL unless you want to. At least that is what I see as a standard user on DOORS 8.1.

Regards

Jim

Hi,

You should build a "subscription" functionality:

 

  • on a module, the user should be able to subscribe to module changes
    • if email not already stored the user should have to enter it
    • the system saves it in the standard User info
  • the system stores the email address or username of the subscriber (can be done in a module attribute)
  • each time the module is closed and saved, the system sends an email to each subscriber (use triggers for this)

Feasible...

Good luck!

Regards,

Alain

Re: How to save email of users who have subscribed
llandale - Thu Dec 12 16:40:27 EST 2013

adevicq - Wed Dec 11 11:48:53 EST 2013

Hi,

You should build a "subscription" functionality:

 

  • on a module, the user should be able to subscribe to module changes
    • if email not already stored the user should have to enter it
    • the system saves it in the standard User info
  • the system stores the email address or username of the subscriber (can be done in a module attribute)
  • each time the module is closed and saved, the system sends an email to each subscriber (use triggers for this)

Feasible...

Good luck!

Regards,

Alain

In principle this is pretty good.  Some initial thoughts:

  • There is no such "module-save" trigger.  A pre-close-module trigger could be made to work although it has no direct way to know if a module was edited and saved already.
  • You could have a pre-close-module trigger that looks at module and object LastModifiedOn" dates and send Emails accordingly; but I wonder if you need to compare that with the time the module was initially opened.
  • but surely these users don't want an email for each and every change.
  • Seems like you would need an attribute "Subscibed" which is a module/object attribute, which "inherits" values.  It lists all the subscribers DOORS Names.
  • I wonder if a Standard user (making the edit) even has the power to "see" the Email field of other "Users".  If not, then the trigger method will surely fail.
  • I wonder if a Standard user (making the edit) wants to get credit in Outlook for sending all these emails.

I think I'd have some 12:01am batch script looking for changes "yesterday", and send subscribed users a single email listing all the objects/modules that changed "yesterday".  Nice, clean, simple; folks are advised a day late but they can handle that.